﻿using System;
using System.Linq;
using System.Text;
using DevExpress.Xpo;
using DevExpress.ExpressApp;
using System.ComponentModel;
using DevExpress.ExpressApp.DC;
using DevExpress.Data.Filtering;
using DevExpress.Persistent.Base;
using System.Collections.Generic;
using DevExpress.ExpressApp.Model;
using DevExpress.Persistent.BaseImpl;
using DevExpress.Persistent.Validation;
using Tida.Module.BusinessObjects.系统管理;

namespace Tida.Module.BusinessObjects.研发中心
{
    [NavigationItem("项目管理")]
    [XafDisplayName("项目列表")]
    [DefaultProperty("任务清单详情")]
    [DefaultClassOptions]
    public class 项目清单 : BaseObject
    { // Inherit from a different class to provide a custom primary key, concurrency and deletion behavior, etc. (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument113146.aspx).
        public 项目清单(Session session)
            : base(session)
        {
        }
        public override void AfterConstruction()
        {
            base.AfterConstruction();
            // Place your initialization code here (https://documentation.devexpress.com/eXpressAppFramework/CustomDocument112834.aspx).
        }


        // Fields...
        private int _序号;
        private 项目详情 _项目详情;
        private DateTime _实际结束时间;
        private DateTime _实际开始时间;
        private DateTime _任务预计结束日期;
        private DateTime _任务预计开始日期;
        private string _任务备注;
        private string _任务事项;
        private Sys_User _成员名称;
        private 项目成员类型 _项目成员类型;
        

        public int 序号
        {
            get
            {
                return _序号;
            }
            set
            {
                SetPropertyValue("序号", ref _序号, value);
            }
        }
        
        [Association("项目详情-项目清单")]

        public 项目详情 项目详情
        {
            get
            {
                return _项目详情;
            }
            set
            {
                SetPropertyValue("项目详情", ref _项目详情, value);
            }
        }


        public 项目成员类型 项目成员类型
        {
            get
            {
                return _项目成员类型;
            }
            set
            {
                SetPropertyValue("项目成员类型", ref _项目成员类型, value);
            }
        }



        public Sys_User 成员名称
        {
            get
            {
                return _成员名称;
            }
            set
            {
                SetPropertyValue("成员名称", ref _成员名称, value);
            }
        }


        public DateTime 任务预计开始日期
        {
            get
            {
                return _任务预计开始日期;
            }
            set
            {
                SetPropertyValue("任务预计开始日期", ref _任务预计开始日期, value);
            }
        }



        public DateTime 任务预计结束日期
        {
            get
            {
                return _任务预计结束日期;
            }
            set
            {
                SetPropertyValue("任务预计结束日期", ref _任务预计结束日期, value);
            }
        }




        public DateTime 实际开始时间
        {
            get
            {
                return _实际开始时间;
            }
            set
            {
                SetPropertyValue("实际开始时间", ref _实际开始时间, value);
            }
        }


        public DateTime 实际结束时间
        {
            get
            {
                return _实际结束时间;
            }
            set
            {
                SetPropertyValue("实际结束时间", ref _实际结束时间, value);
            }
        }



        public string 任务事项
        {
            get
            {
                return _任务事项;
            }
            set
            {
                SetPropertyValue("任务事项", ref _任务事项, value);
            }
        }


        [Size(SizeAttribute.DefaultStringMappingFieldSize)]
        public string  任务备注
        {
            get
            {
                return _任务备注;
            }
            set
            {
                SetPropertyValue("任务备注", ref _任务备注, value);
            }
        }
    }
}